package br.com.friendzoone;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import javax.faces.bean.ManagedBean;

import br.com.friendzoone.modelo.pessoa.Pessoa;
import br.com.friendzoone.modelo.relacionamento.RelacionamentoAmigo;
import br.com.friendzoone.pessoa.PessoaSolr;
import br.com.friendzoone.recursos.RecursosFaces;
import br.com.friendzoone.relacionamento.RelacionamentoAmigoSolr;

@ManagedBean
public class FriendzoneHome extends RecursosFaces implements Serializable {

	private static final long serialVersionUID = 1L;

	private List<Pessoa> relacionamentos = new ArrayList<Pessoa>();

	public List<Pessoa> getRelacionamentos() {
		return relacionamentos;
	}

	public void setRelacionamentos(List<Pessoa> relacionamentos) {
		this.relacionamentos = relacionamentos;
	}

	public void carregarDados() {
		final String idPessoaLogada = this.getUsuarioLogado().getId();
		
		final RelacionamentoAmigoSolr relacionamentoAmizadeSolr = new RelacionamentoAmigoSolr();
		
		final RelacionamentoAmigo relacionamentoAmigo = new RelacionamentoAmigo();
		relacionamentoAmigo.getAmigo().setId(idPessoaLogada);
		
		List<RelacionamentoAmigo> relacionamentoFriendzones = relacionamentoAmizadeSolr.listar(RelacionamentoAmigo.class, relacionamentoAmigo);
		
		if (relacionamentoFriendzones == null) {
			return;
		}
		final PessoaSolr pessoaSolr = new PessoaSolr();
		for (final RelacionamentoAmigo relacionamentoFriendzoneFor : relacionamentoFriendzones) {
			
			final Pessoa pessoaConsulta = pessoaSolr.consultarPorId(relacionamentoFriendzoneFor.getAmigoRelacionado().getId(), Pessoa.class);
			
			relacionamentos.add(pessoaConsulta);
		}
	}

	public FriendzoneHome() {
        
		super();
		this.carregarDados();
	}

}
